<?php

declare(strict_types=1);

namespace App\Helpers;

/**
 * Manejo de archivos.
 */
class File
{
    private const LENGTH_BYTES = 16;

    /**
     * Obtiene la extensión de un archivo.
     */
    public static function getExtension(string $path): string
    {
        return pathinfo($path, PATHINFO_EXTENSION);
    }

    /**
     * Genera un string aleatorio.
     */
    private static function generateRandomString(): string
    {
        return bin2hex(random_bytes(self::LENGTH_BYTES));
    }

    /**
     * Genera un string aleatorio.
     */
    public static function generateRandomName(string $path): string
    {
        return self::generateRandomString().'.'.self::getExtension($path);
    }
}
